﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SMplusXTeam.SyncMoped.SyncGurke
{
    /// <summary>
    /// Houses the result of the directory comparison in different lists.
    /// </summary>
    public class DirectoryComparisonResult
    {
        /// <summary>
        /// The list of equal files.
        /// </summary>
        public List<String> EqualFiles { get; set; }

        /// <summary>
        /// The list of unequal files.
        /// </summary>
        public List<String> UnequalFiles { get; set; }

        /// <summary>
        /// The list of new files.
        /// </summary>
        public List<String> NewFiles { get; set; }

        /// <summary>
        /// The list of deleted files.
        /// </summary>
        public List<String> DeletedFiles { get; set; }

        /// <summary>
        /// The list of files that failed to compare including the error message.
        /// </summary>
        public Dictionary<String, Exception> FailedFiles { get; set; }

        /// <summary>
        /// Initializes the properties with empty lists.
        /// </summary>
        public DirectoryComparisonResult()
        {
            this.EqualFiles = new List<String>();
            this.UnequalFiles = new List<String>();
            this.NewFiles = new List<String>();
            this.DeletedFiles = new List<String>();
            this.FailedFiles = new Dictionary<String, Exception>();
        }
    }
}
